
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta charset="utf-8" />
    <title>mep &#8212; atomman 1.4.0 documentation</title>
    <link rel="stylesheet" href="_static/basic.css" type="text/css" />
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
    <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
    <script type="text/javascript" src="_static/jquery.js"></script>
    <script type="text/javascript" src="_static/underscore.js"></script>
    <script type="text/javascript" src="_static/doctools.js"></script>
    <script type="text/javascript" src="_static/language_data.js"></script>
    <script crossorigin="anonymous" integrity="sha256-Ae2Vz/4ePdIu6ZyI/5ZGsYnb+m0JlOmKPjt6XZ9JJkA=" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script>
    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
    <script type="text/x-mathjax-config">MathJax.Hub.Config({"tex2jax": {"inlineMath": [["$", "$"], ["\\(", "\\)"]], "processEscapes": true, "ignoreClass": "document", "processClass": "math|output_area"}})</script>
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
    <link rel="next" title="ISMPath" href="atomman.mep.ISMPath.html" />
    <link rel="prev" title="DifferentialDisplacement" href="atomman.cluster.BondAngleMap.html" /> 
  </head><body>
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="atomman.mep.ISMPath.html" title="ISMPath"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="atomman.cluster.BondAngleMap.html" title="DifferentialDisplacement"
             accesskey="P">previous</a> |</li>
        <li class="nav-item nav-item-0"><a href="index.html">atomman 1.4.0 documentation</a> &#187;</li>
          <li class="nav-item nav-item-1"><a href="atomman.html" accesskey="U">atomman package</a> &#187;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <div class="section" id="mep">
<h1>mep<a class="headerlink" href="#mep" title="Permalink to this headline">¶</a></h1>
<div class="section" id="classes">
<h2>Classes<a class="headerlink" href="#classes" title="Permalink to this headline">¶</a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="atomman.mep.ISMPath.html">ISMPath</a></li>
<li class="toctree-l1"><a class="reference internal" href="atomman.mep.BasePath.html">BasePath</a></li>
</ul>
</div>
</div>
<div class="section" id="module-atomman.mep">
<span id="functions-and-attributes"></span><h2>Functions and attributes<a class="headerlink" href="#module-atomman.mep" title="Permalink to this headline">¶</a></h2>
<dl class="function">
<dt id="atomman.mep.create_path">
<code class="sig-prename descclassname">atomman.mep.</code><code class="sig-name descname">create_path</code><span class="sig-paren">(</span><em class="sig-param">coord</em>, <em class="sig-param">energyfxn</em>, <em class="sig-param">style='ISM'</em>, <em class="sig-param">gradientfxn='cdiff'</em>, <em class="sig-param">gradientkwargs=None</em>, <em class="sig-param">integratorfxn='rk'</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.mep.create_path" title="Permalink to this definition">¶</a></dt>
<dd><p>Generic function call for initializing a Path object.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>coord</strong> (<em>array-like object</em>) – The list of coordinates associated with the points along the path.</p></li>
<li><p><strong>energyfxn</strong> (<em>function</em>) – The function that evaluates the energy associated with the different
point coordinates.</p></li>
<li><p><strong>style</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)"><em>str</em></a>) – The relaxation style to associate with the path.  Determines the
subclass to build.  Default value is “ISM” for the improved
string method.</p></li>
<li><p><strong>gradientfxn</strong> (<em>function</em><em>, </em><em>optional</em>) – The function to use to estimate the gradient of the energy.  Default
value of ‘cdiff’ will use atomman.mep.gradient.central_difference</p></li>
<li><p><strong>gradientkwargs</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.9)"><em>dict</em></a><em>, </em><em>optional</em>) – The keyword arguments (i.e. settings) to use with the gradientfxn.
Default is an empty dictionary, i.e. default settings of gradientfxn.</p></li>
<li><p><strong>integratorfxn</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)"><em>str</em></a><em> or </em><em>function</em><em>, </em><em>optional</em>) – The function to use to integrate relaxation steps.  Default value of
‘rk’ will use atomman.mep.integrator.rungekutta.</p></li>
</ul>
</dd>
</dl>
</dd></dl>

<span class="target" id="module-atomman.mep.gradient"></span><dl class="function">
<dt id="atomman.mep.gradient.central_difference">
<code class="sig-prename descclassname">atomman.mep.gradient.</code><code class="sig-name descname">central_difference</code><span class="sig-paren">(</span><em class="sig-param">fxn</em>, <em class="sig-param">coord</em>, <em class="sig-param">shift=1e-05</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.mep.gradient.central_difference" title="Permalink to this definition">¶</a></dt>
<dd><p>Computes the gradient of a function at a set of coordinates.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>fxn</strong> (<em>function</em>) – The function to compute gradients for.</p></li>
<li><p><strong>coord</strong> (<em>array-like object</em>) – The coordinates to evaluate the gradient at. The number of
derivatives calculated will be based on the size of the
coordinate’s final dimension, i.e. if coord is (10, 3), then three
derivatives will be computed for each of the ten coordinates.</p></li>
<li><p><strong>shift</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#float" title="(in Python v3.9)"><em>float</em></a><em>, </em><em>optional</em>) – The shift step size to use when evaluating the derivatives.
Default value is 1e-5.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><strong>gradient</strong> – The gradient array with the same shape as coord.</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p>array-like object</p>
</dd>
</dl>
</dd></dl>

<span class="target" id="module-atomman.mep.integrator"></span><dl class="function">
<dt id="atomman.mep.integrator.euler">
<code class="sig-prename descclassname">atomman.mep.integrator.</code><code class="sig-name descname">euler</code><span class="sig-paren">(</span><em class="sig-param">ratefxn</em>, <em class="sig-param">coord</em>, <em class="sig-param">timestep</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.mep.integrator.euler" title="Permalink to this definition">¶</a></dt>
<dd><p>Performs Euler ODE integration for a timestep.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>ratefxn</strong> (<em>function</em>) – The rate function to use.  Should be a function of coord.</p></li>
<li><p><strong>coord</strong> (<em>array-like object</em>) – The coordinate(s) of the last timestep.</p></li>
<li><p><strong>timestep</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#float" title="(in Python v3.9)"><em>float</em></a>) – The timestep value to use.</p></li>
<li><p><strong>**kwargs</strong> (<em>any</em>) – Any extra keyword parameters to pass on to ratefxn.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>The coordinate(s) moved forward by timestep.</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p>array-like object</p>
</dd>
</dl>
</dd></dl>

<dl class="function">
<dt id="atomman.mep.integrator.rungekutta">
<code class="sig-prename descclassname">atomman.mep.integrator.</code><code class="sig-name descname">rungekutta</code><span class="sig-paren">(</span><em class="sig-param">ratefxn</em>, <em class="sig-param">coord</em>, <em class="sig-param">timestep</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.mep.integrator.rungekutta" title="Permalink to this definition">¶</a></dt>
<dd><p>Performs Runge-Kutta ODE integration for a timestep.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>ratefxn</strong> (<em>function</em>) – The rate function to use.  Should be a function of coord.</p></li>
<li><p><strong>coord</strong> (<em>array-like object</em>) – The coordinate(s) of the last timestep.</p></li>
<li><p><strong>timestep</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#float" title="(in Python v3.9)"><em>float</em></a>) – The timestep value to use.</p></li>
<li><p><strong>**kwargs</strong> (<em>any</em>) – Any extra keyword parameters to pass on to ratefxn.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>The coordinate(s) moved forward by timestep.</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p>array-like object</p>
</dd>
</dl>
</dd></dl>

</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
        <div class="sphinxsidebarwrapper">
  <h3><a href="index.html">Table of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#">mep</a><ul>
<li><a class="reference internal" href="#classes">Classes</a></li>
<li><a class="reference internal" href="#module-atomman.mep">Functions and attributes</a></li>
</ul>
</li>
</ul>

  <h4>Previous topic</h4>
  <p class="topless"><a href="atomman.cluster.BondAngleMap.html"
                        title="previous chapter">DifferentialDisplacement</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="atomman.mep.ISMPath.html"
                        title="next chapter">ISMPath</a></p>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="atomman.mep.ISMPath.html" title="ISMPath"
             >next</a> |</li>
        <li class="right" >
          <a href="atomman.cluster.BondAngleMap.html" title="DifferentialDisplacement"
             >previous</a> |</li>
        <li class="nav-item nav-item-0"><a href="index.html">atomman 1.4.0 documentation</a> &#187;</li>
          <li class="nav-item nav-item-1"><a href="atomman.html" >atomman package</a> &#187;</li> 
      </ul>
    </div>
    <div class="footer" role="contentinfo">
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.0.
    </div>
  </body>
</html>